package com.lyl.security.module.security.model.properties;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * @author Mr.Luo
 * @date 2022-09-14 11:38
 * @desc SpringSecurity自定义配置
 */
@Data
@ConfigurationProperties(prefix = "security")
public class SecurityProperties {
    /**
     * 排除的urls
     */
    private String[] excludeUrls;

    /**
     * token相关
     */
    private InnerToken token = new InnerToken();

    @Data
    public static class InnerToken {
        /**
         * token 参数的名称
         */
        private String header = "Authorization";

        /**
         * token 前缀（不带空格）
         */
        private String prefix = "Bearer";

        /**
         * 令牌私钥
         */
        private String secret;

        /**
         * 过期时间(分钟)
         */
        private long expiredTime = 30;

        /**
         * 最大刷新令牌过期时间(分钟)
         */
        private long maxRefreshTokenTime = 10;
    }
}
